Method and apparatus for synchronizing data streams containing audio, video and/or other data

ABSTRACT

Several data streams contain video, audio and/or other data. Some of the data streams are pre-recorded in a multiplex on a storage medium while other data streams are located out of the data stream multiplex on the storage medium. The data streams are synchronized using a navigation file (List_of_PlayItems), which comprises descriptors (Play-Items, SubPlayItems) pointing to parts of said data streams, wherein said descriptors define the arrangement in time for said data streams by means of data sub stream paths.

The invention relates to a method and to an apparatus for synchronizingdata streams containing audio, video and/or other data, wherein some ofthe data streams are recorded in a multiplex on a storage medium andother data streams are located out of the data stream multiplex.

BACKGROUND

Optical storage media facilitate recording or replaying of audiovisual(AV) signals that include one or more video and audio data streamsand/or other data like subtitles and service information. Based on theDigital Versatile Disc (DVD) standard published by www.dvdforum.orgpre-recorded movie titles are replicated for a mass market usingread-only optical discs. Following introduction and proliferation of thered laser based DVD standard, a blue laser based media system of evenhigher capacity has recently been published under the brand name‘Blu-ray Disc’ denoted BD.

For nowadays DVDs the content providers create videos for many differenttarget countries. This encompasses many different languages andsub-titles. Additional to this language specific versions of AV materialthere exists the application of multi-angle and multi-story for opticaldiscs. In BD applications this possibilities will be enlarged byintroducing different video formats as SDTV and HDTV videos. For opticalrecording and pre-recording all the different elementary streams listedabove (video-angle, audio-track, subtitle etc.) have to be packetizedinto a single multiplex transport stream. During playback the decoder isreading this multiplex and decodes those packets belonging to thestreams selected.

INVENTION

The invention is based on the recognition of the following fact. Havingan AV multiplex carrying all the available components it is not possibleto provide additional material, like another sound track or anotherweb-page for a later time. I.e. when a content provider is using anauthoring tool for the generation of a BD movie all elementary streamshave to be known before starting the generation. It is not possible toadd another elementary stream after the AV multiplex production. On theother hand, if a further data stream shall be added later on, thisrequires a synchronization with the already existing data streams.

Therefore, a problem to be solved by the invention is to allowsynchronizing of data streams recorded in a multiplex on a storagemedium with further data streams located out of this data streammultiplex.

This problem is solved by the method disclosed in claim 1 and thecorresponding apparatus in claim 8.

In principle, the inventive method allows synchronizing data streamscontaining video, audio and/or other data, wherein some of the datastreams are pre-recorded in a multiplex on a storage medium, wherein anavigation file comprises descriptors pointing to parts of said datastreams, wherein said descriptors define the arrangement in time forsaid data streams by means of data sub stream paths.

Advantageous additional embodiments of the invention are disclosed inthe respective dependent claims.

DRAWINGS

Exemplary embodiments of the invention are described with reference tothe accompanying drawing, which shows an example of a play listencompassing different video, audio and subtitle stream paths.

EXEMPLARY EMBODIMENTS

FIG. 1 shows an example of a play list List_of_PlayItems encompassingdifferent video, audio and subtitle stream paths with PlayItems orSubPlayItems, which have to be decoded for playing back of a streampath. A first stream path of PlayItems comprises an AV multiplex stream.Furthermore, several SubPlayItems describe audio, video and subtitlestream paths as depicted.

As shown, multiple stream paths may exist in parallel on the global timeaxis of the PlayList. A stream path may be defined leaky by leavingparts of the time axis empty.

Any stream described by a PlayItem or a SubPlayItem may be an elementarystream or again a multiplex of streams.

The inventive synchronization of elementary streams being located out ofthe main AV multiplex on a optical disc is described in the following.

Synchronization is thought of for two different cases. The first case isthe synchronization of components concerning their relative relation intime. It is determining to which time the separate components start andend. The second case is the synchronization of components concerningtheir switching. It is determining points in time and in the binarystream were the decoding of one component can be substituted by decodinganother component. The switching of a video components for example isuseful for multi-angle applications.

The preferable medium for such an application will be beyond DVDcapabilities e.g. a blu-ray disc to provide the transfer rate needed forout of multiplex bit-stream reading.

The out of multiplex semantic provides the ability to playback blu-raydisc AV streams combining different elementary streams inclusive acombination of streams coming from disc and via Internet or anotherstorage medium. E.g. there could be a playback of a movie where thevideo stream is read from a blu-ray disc the audio stream is read from ahard disc and the sub-title is read from an internet service.

The description for out of multiplex AV material consists of differentfiles including navigation files and stream files. The navigation filesprovide all entry points for navigation within the stream files as thereare points in the time axis, angle of view, sub-titles and audiochannels etc. In a higher layer of the navigation files there exists alist of play items explaining all stream parts belonging to a playbackof the AV material.

In the following a generic syntax for higher level navigation files isdescribed. In the tables 1 till 4 only those elements are outlined whichare mandatory for this invention, i.e. additional elements not describedhere as well as different orders may be possible.

As defined within Table 1 a playback element on disc which might be anypart of a movie (e.g. a chapter) is described by means of aList_of_PlayItems. It consist of length indicating the complete lengthof the structure in byte, playItems indicating the number of PlayItem( )elements and subPlayItems indicating the number of SubPlayItems( )within the List_of_PlayItems structure. While at least one PlayItem ismandatory for a List_of_PlayItems the SubPlayItems are optional. Thetime axis of SubPlayItem(s) is referring to the time axis of thePlayItem(s).

TABLE 1 List_of_PlayItems - Syntax Syntax No. of bits MnemonicList_of_PlayItems( ) { length 16 uimsbf playItems 16 uimsbf . . .subPlayItems 16 uimsbf . . . for (n =1; n < playItems; n++) { PlayItem() { . . . } for (n =1; n < subPlayItems; n++) { SubPlayItem( ) { . . . }. . . }

As defined within Table 2 a PlayItem structure consists of lengthindicating the complete length of the structure in byte, StreamFiledescribing a link to the elementary stream file, Start_time describingthe presentation start time of the PlayItem within the StreamFile andEnd_time describing the presentation end time of the PlayItem within theStreamFile.

Additionally it consists of the element “reserved” to preserve bytealignment, Seamless_presentation_flag indicating if this PlayItemprovides seamless transitions between components. TheSeamless_presentation_flag has the same meaning as within theSubPlayItem (Table 3) and is explained in more details there.

TABLE 2 PlayItem - Syntax Syntax No. of bits Mnemonic PlayItem ( ) {length 16 uimsbf StreamFile . . . . . . . . . Start_time 32 uimsbfEnd_time 32 uimsbf . . . reserved 11 bslbf Seamless_presentation_flag 1bslbf . . . }

As defined within Table 3 a SubPlayItem structure is very similar to thestructure of a PlayItem. It consists of length indicating the completelength of the structure in byte, StreamFile describing a link to theelementary stream file, Start_time describing the presentation starttime of the PlayItem within the StreamFile and End_time describing thepresentation end time of the PlayItem within the StreamFile.

Additionally it consists of the element “reserved” to preserve bytealignment, Seamless_presentation_flag indicating if this PlayItemprovides seamless transitions between components, Stream_path_endindicating the end of a sub stream path and SubStream_type an one 8-bitfield indicating the type of sub stream path given for the SubPlayItem.

TABLE 3 SubPlayItem - Syntax Syntax No. of bits Mnemonic SubPlayItem( ){ length 16 uimsbf StreamFile . . . . . . . . . Start_time... 32 uimsbfEnd_time... 32 uimsbf . . . reserved 6 bslbf Seamless_presentation_flag1 bslbf Stream_path_end 1 bslbf SubStream_type 8 bslbf . . . }

As defined within Table 4 the SubStream_type defines the type ofSubPlayItem. This can be an auxiliary audio stream path for audiodubbing, a video stream path, an audio stream path, a subtitle streampath or a graphics stream path. The value 6 till 255 can be used forfuture stream path formats.

TABLE 4 SubStream_type SubStream_type Meaning 0 reserved for future use1 Auxiliary audio stream path 2 Video stream path 3 Audio stream path 4Subtitle stream path 5 Graphics stream path 6-255 reserved for futureuse

An alternative definition of the SubStream_type is possible as shown inTable 5. The advantage of divining an auxiliary transport stream pathinstead of different elementary stream paths is, that any elementarystream can again be embedded within another multiplex stream, i.e.several different subtitles may be multiplexed together within a singlefile.

TABLE 5 SubStream_type SubStream_type Meaning 0 reserved for future use1 Auxiliary audio stream path 2 Auxiliary transport stream path 3-255reserved for future use

Seamless_presentation_flag supports the case of synchronizationconcerning seamless switching of components during playback.

The Seamless_presentation_flag is located within thePlayItem/SubPlayItem and indicates if the transport stream referenced toby PlayItem/SubPlayItem is supporting seamless transitions between itselementary streams. If Seamless_presentation_flag is set “true”, allelementary streams within the transport stream obey the seamlesstransition restrictions.

The seamless transition restrictions are providing Splice Points withinthe elementary stream. Splice Points are points at which the decoding ofone elementary stream can be stopped and the decoding of another can bestarted without having any noticeable effect during playback, presumingthat both elementary streams have been encoded by obeying the seamlesstransition restrictions. The generation of Splice Points is reachedduring encoding by defining a mandatory GOP raster, e.g. a fixed GOPlength, and by limiting the required buffer size, to avoid bufferoverflows when switching different elementary streams during decoding.

A typical application for seamless transitions are multi-angle videos. Amulti-angle video provides different camera angles for a video e.g. onecamera within the race-car, another showing the box, one showing thefinish line etc. When the multi-angle video is played back the user canswitch seamless between this different camera tracks.

Stream_path_end and SubStream_type support the case of synchronizationconcerning the relative relation of components in time.

Stream_path_end: This flag indicates the end of a stream path. A streampath is an ordered set of SubPlayItems. It defines the number and, orderof all SubPlayItems belonging to the stream path. The first stream pathstarts with the first SubPlayItem and ends with the first SubPlayItemhaving the Stream_path_end flag set “true”. The second stream pathstarts with the first SubPlayItem following the previous stream path andends with the first SubPlayItem having the Stream_path_end flag set“true”, and so on. The last stream path ends with the last SubPlayItem.Setting the Stream_path_end flag “true” for the last SubPlayItem of thePlayList is optional. All SubPlayItems of a stream path shall have thesame SubPlayItem_type.

Playing back a stream path will decode the consecutive set ofSubPlayItems belonging to the stream path including either the firstSubPlayItem having the Stream_path_end flag set “true” or the lastSubPlayItem of the PlayList.

The Transport Stream (TS) is organized according to the MPEG-2 Systemsstandard as specified in ISO/IEC 13818-1, Generic coding of movingpictures and associated audio information. However, in order toguarantee a conflict free playback during decoding and at the same timea late and independent addition of content, e.g. the adding of auxiliarysubtitles after the main authoring has already been finalized, thefollowing rules of restrictions for the transport streams are necessary:

The TS of PlayItems must contain a Program Association Table (PAT) andProgram Map Table (PMT). They provide the PID table and languageinformation for every TS component (elementary stream) within themultiplex.

The TS of SubPlayItems contains auxiliary streams. The preferred formatof auxiliary streams again is a TS.

Within the TS of a SubPlayItem no PAT is allowed. This preventsconflicts with the TS of the PlayItem.

The TS of a SubPlayItem must contain a PMT whose PID is not used withinthe TS of PlayItems.

All PID associated to elementary streams within all TS for PlayItems aswell as SubPlayItems must be different.

The advantage of the TS rules listed above is, that a single PID filteris sufficient for decoding all elementary streams. When violating the TSrules a PID re-stamping before buffering the input data or theseparating of different buffers becomes necessary.

The invention has several advantages:

It provides more flexibility for the authoring of prerecorded blue-raydiscs. E.g. after the finalization of the main AV multiplex, additionallanguages can easily be added to the disc at a later time. This isbecause an auxiliary AV multiplexes containing e.g. audio and sub-titleinformation in other languages can be prepared independently and addedto the disc image without changing the basic AV multiplex (no recoding,re-multiplexing required).

There are no limitation for the maximum number of audio, subtitle, videoangles, AV formats etc. caused by the bandwidth given for the multiplex.The limitation is simply defined by the volume capacity.

It allows optional binding of external sources to disc content e.g. aspecial sound track from hard disc or internet server, resulting inadded value by binding new streams to e-recorded discs.

Furthermore, rules are provided for simplified decoding of elementarystreams coming from different transport streams and for seamless streamswitching (e.g. for multi-angle videos) across different transportstreams.

1-8. (canceled)
 9. A method for arranging data streams containing video,audio and/or other data, comprising: defining a basic stream path beinga sequence of consecutive descriptors (PlayItem) pointing to parts of abasic audio visual (AV) MPEG-2 transport stream of multiplexedelementary streams, wherein the order of said descriptors in saidsequence define the temporal order for playing back said parts of saidbasic AV MPEG-2 transport stream; and defining sub stream paths arrangedon a global time axis of the navigation file for synchronous play backwith the basic AV MPEG-2 transport stream, wherein the sub stream pathscomprise further sequences of one or more consecutive furtherdescriptors (SubPlayItem) pointing to further data streams or to partsof said further data streams, wherein said further data streams areencoded in further elementary streams which are organized as a differentfurther AV MPEG-2 transport stream originating from a data sourceexternal to said basic AV MPEG-2 transport stream, said furtherdescriptors defining points in time and in the further data streamswhere a user is allowed, during play back, to substitute the decoding ofa part of one of the further data stream by decoding a part of anotherone of the further data stream without noticeable effect, wherein saidfurther elementary streams are encoded according to a mandatory GOPraster defined to meet a buffer requirement limitation.